#ifndef __INPUT_C
#define __INPUT_C

#include <config.h>
#include <types.h>
#include <event.h>

#define INPUT_TYPES_MOUSE      1
#define INPUT_TYPES_TOUCHPANEL 2
#define INPUT_TYPES_KEYBOARD   3

struct touch_operations {
	int  (*open)(void);
	void (*close)(void);
	void (*rectify)(COORD, COORD, COORD, COORD);
	void (*polling)(EVENT *);
	void (*lock)(void);
	void (*unlock)(void);  
};

struct input_device {
    int dev_id;
    struct touch_operations *touch_ops;
    void *param;
};

int input_init(void);
void input_exit(void);
void InputDeviceLock(void);
void InputDeviceUnlock(void);

#endif /* __INPUT_C */
